<template>
 <div>
 <div class="mui-content">
  <form class="mui-input-group">
   <div class="mui-input-row">
    <label>账号</label>
    <input v-model="regForm.username" type="text" class="mui-input-clear mui-input"
placeholder="请输入账号" />
   </div>
   <div class="mui-input-row">
    <label>密码</label>
    <input v-model="regForm.password" type="password" class="mui-input-clear mui-
input" placeholder="请输入密码" />
   </div>
   <div class="mui-input-row">
    <label>确认</label>
    <input type="password" ref="pwdConfirm" class="mui-input-clear mui-input"
placeholder="请确认密码" />
   </div>
   <div class="mui-input-row">
    <label>邮箱</label>
    <input v-model="regForm.email" type="email" class="mui-input-clear mui-input"
placeholder="请输入邮箱" />
   </div>
  </form>
  <div class="mui-content-padded">
   <button @click="register" class="mui-btn mui-btn-block mui-btn-primary">注册
</button>
  </div>
  <div class="mui-content-padded">
   <p>注册成功后的用户可用于登录</p>
  </div>
 </div>
</div>
</template>
<script>
export default {
data () {
 return {
  regForm: {
   username: '',
   password: '',
   email: ''
  }
 }
},
methods: {
 register: function () {
  var pwdConfirm = this.$refs.pwdConfirm.value
  if (this.regForm.username === '') {
   this.$toast('账号不能为空')
   return
  } else if (this.regForm.password === '') {
    this.$toast('密码不能为空')
   return
  } else if (this.regForm.password != pwdConfirm) {
   this.$toast('密码两次输入不一致')
   return
  } else if (this.regForm.email === '') {
   this.$toast('邮箱不能为空')
   return
  }
  this.$indicator.open({
   text: '注册中'
  })
  this.$http.post('register', this.regForm).then(res => {
   this.$indicator.close()
   if (res.data.code === 0) {
    this.$toast(res.data.msg)
   } else {
    this.$store.commit('user/setUser', res.data.data)
    this.$auth.setAuthorization(res.data.data.session_id)
    this.$toast(res.data.msg)
    this.$router.replace({ name: 'user' })
   }
  }).catch(() => {
   this.$toast('注册失败')
  })
 }
}
}
</script>
<style scoped>
.mui-input-group {
margin-top: 10px;
background-color: transparent;
}
.mui-input-group label {
width: 22%;
}
.mui-input-row:last-child {
background: #fff;
}
.mui-input-row {
margin-top: 20px;
background: #fff;
}
.mui-input-row label ~ input,
.mui-input-row label ~ select,
.mui-input-row label ~ textarea {
width: 78%;
}
.link-area {
display: block;
margin-top: 25px;
text-align: center;
}
.mui-content-padded {
margin-top: 30px;
}
</style>